{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import os\n",
    "import warnings\n",
    "\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "base_path = \"C:\\\\Users\\\\wenyang.zhang\\\\Documents\\\\MySpace\\\\Workspace\\\\PredictionPlatform\\\\Datasource\"\n",
    "file_path = os.path.join(base_path, \"BANNER_0.csv\")\n",
    "df = pd.read_csv(file_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>REPORT_DATE</th>\n",
       "      <th>STORE_BKEY</th>\n",
       "      <th>BANNER_NAME</th>\n",
       "      <th>STORE_TYPE</th>\n",
       "      <th>PRODUCT_BKEY</th>\n",
       "      <th>BRAND_NAME</th>\n",
       "      <th>AMOUNT_PER_KG</th>\n",
       "      <th>PRICE_PER_KG</th>\n",
       "      <th>HAS_GROUND</th>\n",
       "      <th>WEEK_OF_YEAR</th>\n",
       "      <th>...</th>\n",
       "      <th>IS_NEWYEAR</th>\n",
       "      <th>IS_CHRISTMAS</th>\n",
       "      <th>IS_12</th>\n",
       "      <th>IS_11</th>\n",
       "      <th>IS_618</th>\n",
       "      <th>IS_SUMMER</th>\n",
       "      <th>IS_WINTER</th>\n",
       "      <th>STORE_COUNT</th>\n",
       "      <th>CITY_COUNT</th>\n",
       "      <th>RN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN0401200</td>\n",
       "      <td>ROCHER</td>\n",
       "      <td>20.295983</td>\n",
       "      <td>162.367865</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN04O2904</td>\n",
       "      <td>ROCHER</td>\n",
       "      <td>4.761905</td>\n",
       "      <td>178.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN1107500</td>\n",
       "      <td>KINDER CHOCOLATE</td>\n",
       "      <td>8.510638</td>\n",
       "      <td>100.765957</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN1501100</td>\n",
       "      <td>RAFFAELLO</td>\n",
       "      <td>20.382166</td>\n",
       "      <td>138.598726</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN8701862</td>\n",
       "      <td>KINDER JOY</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN8701863</td>\n",
       "      <td>KINDER JOY</td>\n",
       "      <td>7.111111</td>\n",
       "      <td>144.497778</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN87O8063</td>\n",
       "      <td>KINDER JOY</td>\n",
       "      <td>20.869565</td>\n",
       "      <td>151.930435</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCNC911600</td>\n",
       "      <td>COLLECTION</td>\n",
       "      <td>2.702703</td>\n",
       "      <td>172.756757</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110012</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN0401200</td>\n",
       "      <td>ROCHER</td>\n",
       "      <td>20.295983</td>\n",
       "      <td>162.367865</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110012</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN04O2904</td>\n",
       "      <td>ROCHER</td>\n",
       "      <td>4.761905</td>\n",
       "      <td>178.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110012</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN1107500</td>\n",
       "      <td>KINDER CHOCOLATE</td>\n",
       "      <td>8.510638</td>\n",
       "      <td>100.765957</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110012</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN1501100</td>\n",
       "      <td>RAFFAELLO</td>\n",
       "      <td>20.382166</td>\n",
       "      <td>138.598726</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110012</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN8701862</td>\n",
       "      <td>KINDER JOY</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110012</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN8701863</td>\n",
       "      <td>KINDER JOY</td>\n",
       "      <td>7.111111</td>\n",
       "      <td>144.497778</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110012</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN87O8063</td>\n",
       "      <td>KINDER JOY</td>\n",
       "      <td>20.869565</td>\n",
       "      <td>151.930435</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110012</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCNC911600</td>\n",
       "      <td>COLLECTION</td>\n",
       "      <td>2.702703</td>\n",
       "      <td>172.756757</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110013</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN0401200</td>\n",
       "      <td>ROCHER</td>\n",
       "      <td>20.295983</td>\n",
       "      <td>162.367865</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110013</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN04O2904</td>\n",
       "      <td>ROCHER</td>\n",
       "      <td>4.761905</td>\n",
       "      <td>178.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110013</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN1107500</td>\n",
       "      <td>KINDER CHOCOLATE</td>\n",
       "      <td>8.510638</td>\n",
       "      <td>100.765957</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110013</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN1501100</td>\n",
       "      <td>RAFFAELLO</td>\n",
       "      <td>20.382166</td>\n",
       "      <td>138.598726</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>20 rows × 26 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   REPORT_DATE  STORE_BKEY BANNER_NAME STORE_TYPE PRODUCT_BKEY  \\\n",
       "0   2018-02-24  BJ07110011    7-Eleven        CVS   XCN0401200   \n",
       "1   2018-02-24  BJ07110011    7-Eleven        CVS   XCN04O2904   \n",
       "2   2018-02-24  BJ07110011    7-Eleven        CVS   XCN1107500   \n",
       "3   2018-02-24  BJ07110011    7-Eleven        CVS   XCN1501100   \n",
       "4   2018-02-24  BJ07110011    7-Eleven        CVS   XCN8701862   \n",
       "5   2018-02-24  BJ07110011    7-Eleven        CVS   XCN8701863   \n",
       "6   2018-02-24  BJ07110011    7-Eleven        CVS   XCN87O8063   \n",
       "7   2018-02-24  BJ07110011    7-Eleven        CVS   XCNC911600   \n",
       "8   2018-02-24  BJ07110012    7-Eleven        CVS   XCN0401200   \n",
       "9   2018-02-24  BJ07110012    7-Eleven        CVS   XCN04O2904   \n",
       "10  2018-02-24  BJ07110012    7-Eleven        CVS   XCN1107500   \n",
       "11  2018-02-24  BJ07110012    7-Eleven        CVS   XCN1501100   \n",
       "12  2018-02-24  BJ07110012    7-Eleven        CVS   XCN8701862   \n",
       "13  2018-02-24  BJ07110012    7-Eleven        CVS   XCN8701863   \n",
       "14  2018-02-24  BJ07110012    7-Eleven        CVS   XCN87O8063   \n",
       "15  2018-02-24  BJ07110012    7-Eleven        CVS   XCNC911600   \n",
       "16  2018-02-24  BJ07110013    7-Eleven        CVS   XCN0401200   \n",
       "17  2018-02-24  BJ07110013    7-Eleven        CVS   XCN04O2904   \n",
       "18  2018-02-24  BJ07110013    7-Eleven        CVS   XCN1107500   \n",
       "19  2018-02-24  BJ07110013    7-Eleven        CVS   XCN1501100   \n",
       "\n",
       "          BRAND_NAME  AMOUNT_PER_KG  PRICE_PER_KG  HAS_GROUND  WEEK_OF_YEAR  \\\n",
       "0             ROCHER      20.295983    162.367865           0             8   \n",
       "1             ROCHER       4.761905    178.666667           0             8   \n",
       "2   KINDER CHOCOLATE       8.510638    100.765957           0             8   \n",
       "3          RAFFAELLO      20.382166    138.598726           0             8   \n",
       "4         KINDER JOY       0.000000      0.000000           0             8   \n",
       "5         KINDER JOY       7.111111    144.497778           0             8   \n",
       "6         KINDER JOY      20.869565    151.930435           0             8   \n",
       "7         COLLECTION       2.702703    172.756757           0             8   \n",
       "8             ROCHER      20.295983    162.367865           0             8   \n",
       "9             ROCHER       4.761905    178.666667           0             8   \n",
       "10  KINDER CHOCOLATE       8.510638    100.765957           0             8   \n",
       "11         RAFFAELLO      20.382166    138.598726           0             8   \n",
       "12        KINDER JOY       0.000000      0.000000           0             8   \n",
       "13        KINDER JOY       7.111111    144.497778           0             8   \n",
       "14        KINDER JOY      20.869565    151.930435           0             8   \n",
       "15        COLLECTION       2.702703    172.756757           0             8   \n",
       "16            ROCHER      20.295983    162.367865           0             8   \n",
       "17            ROCHER       4.761905    178.666667           0             8   \n",
       "18  KINDER CHOCOLATE       8.510638    100.765957           0             8   \n",
       "19         RAFFAELLO      20.382166    138.598726           0             8   \n",
       "\n",
       "    ...  IS_NEWYEAR  IS_CHRISTMAS  IS_12  IS_11  IS_618  IS_SUMMER  IS_WINTER  \\\n",
       "0   ...           0             0      0      0       0          0          1   \n",
       "1   ...           0             0      0      0       0          0          1   \n",
       "2   ...           0             0      0      0       0          0          1   \n",
       "3   ...           0             0      0      0       0          0          1   \n",
       "4   ...           0             0      0      0       0          0          1   \n",
       "5   ...           0             0      0      0       0          0          1   \n",
       "6   ...           0             0      0      0       0          0          1   \n",
       "7   ...           0             0      0      0       0          0          1   \n",
       "8   ...           0             0      0      0       0          0          1   \n",
       "9   ...           0             0      0      0       0          0          1   \n",
       "10  ...           0             0      0      0       0          0          1   \n",
       "11  ...           0             0      0      0       0          0          1   \n",
       "12  ...           0             0      0      0       0          0          1   \n",
       "13  ...           0             0      0      0       0          0          1   \n",
       "14  ...           0             0      0      0       0          0          1   \n",
       "15  ...           0             0      0      0       0          0          1   \n",
       "16  ...           0             0      0      0       0          0          1   \n",
       "17  ...           0             0      0      0       0          0          1   \n",
       "18  ...           0             0      0      0       0          0          1   \n",
       "19  ...           0             0      0      0       0          0          1   \n",
       "\n",
       "    STORE_COUNT  CITY_COUNT  RN  \n",
       "0          1497          12   1  \n",
       "1          1497          12   1  \n",
       "2          1497          12   1  \n",
       "3          1497          12   1  \n",
       "4          1497          12   1  \n",
       "5          1497          12   1  \n",
       "6          1497          12   1  \n",
       "7          1497          12   1  \n",
       "8          1497          12   1  \n",
       "9          1497          12   1  \n",
       "10         1497          12   1  \n",
       "11         1497          12   1  \n",
       "12         1497          12   1  \n",
       "13         1497          12   1  \n",
       "14         1497          12   1  \n",
       "15         1497          12   1  \n",
       "16         1497          12   1  \n",
       "17         1497          12   1  \n",
       "18         1497          12   1  \n",
       "19         1497          12   1  \n",
       "\n",
       "[20 rows x 26 columns]"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(20)\n",
    "# df[\"REPORT_DATE\"].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0  REPORT_DATE       2018-02-24\n",
       "   STORE_BKEY        BJ07110011\n",
       "   BANNER_NAME         7-Eleven\n",
       "   STORE_TYPE               CVS\n",
       "   PRODUCT_BKEY      XCN0401200\n",
       "   BRAND_NAME            ROCHER\n",
       "   AMOUNT_PER_KG         20.296\n",
       "   PRICE_PER_KG         162.368\n",
       "   HAS_GROUND                 0\n",
       "   WEEK_OF_YEAR               8\n",
       "   MONTH_OF_YEAR              2\n",
       "   YEAR_OF_WEEK            2018\n",
       "   IS_VALENTINE               0\n",
       "   IS_TEACHER                 0\n",
       "   IS_C_VALENTINE             0\n",
       "   IS_CHILDREN                0\n",
       "   IS_NEWYEAR                 0\n",
       "   IS_CHRISTMAS               0\n",
       "   IS_12                      0\n",
       "   IS_11                      0\n",
       "   IS_618                     0\n",
       "   IS_SUMMER                  0\n",
       "   IS_WINTER                  1\n",
       "   STORE_COUNT             1497\n",
       "   CITY_COUNT                12\n",
       "   RN                         1\n",
       "1  REPORT_DATE       2018-02-24\n",
       "   STORE_BKEY        BJ07110011\n",
       "   BANNER_NAME         7-Eleven\n",
       "   STORE_TYPE               CVS\n",
       "                        ...    \n",
       "3  IS_WINTER                  1\n",
       "   STORE_COUNT             1497\n",
       "   CITY_COUNT                12\n",
       "   RN                         1\n",
       "4  REPORT_DATE       2018-02-24\n",
       "   STORE_BKEY        BJ07110011\n",
       "   BANNER_NAME         7-Eleven\n",
       "   STORE_TYPE               CVS\n",
       "   PRODUCT_BKEY      XCN8701862\n",
       "   BRAND_NAME        KINDER JOY\n",
       "   AMOUNT_PER_KG              0\n",
       "   PRICE_PER_KG               0\n",
       "   HAS_GROUND                 0\n",
       "   WEEK_OF_YEAR               8\n",
       "   MONTH_OF_YEAR              2\n",
       "   YEAR_OF_WEEK            2018\n",
       "   IS_VALENTINE               0\n",
       "   IS_TEACHER                 0\n",
       "   IS_C_VALENTINE             0\n",
       "   IS_CHILDREN                0\n",
       "   IS_NEWYEAR                 0\n",
       "   IS_CHRISTMAS               0\n",
       "   IS_12                      0\n",
       "   IS_11                      0\n",
       "   IS_618                     0\n",
       "   IS_SUMMER                  0\n",
       "   IS_WINTER                  1\n",
       "   STORE_COUNT             1497\n",
       "   CITY_COUNT                12\n",
       "   RN                         1\n",
       "Length: 130, dtype: object"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_head.stack()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-44-c4bed2eb9df4>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[0mf\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mos\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbase_path\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"BANNER.csv\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[1;32mfor\u001b[0m \u001b[0mline\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mreadlines\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      3\u001b[0m     \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mline\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\wenyang.zhang\\documents\\myspace\\python37\\lib\\encodings\\cp1252.py\u001b[0m in \u001b[0;36mdecode\u001b[1;34m(self, input, final)\u001b[0m\n\u001b[0;32m     20\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     21\u001b[0m \u001b[1;32mclass\u001b[0m \u001b[0mIncrementalDecoder\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcodecs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mIncrementalDecoder\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 22\u001b[1;33m     \u001b[1;32mdef\u001b[0m \u001b[0mdecode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0minput\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfinal\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     23\u001b[0m         \u001b[1;32mreturn\u001b[0m \u001b[0mcodecs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcharmap_decode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minput\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0merrors\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mdecoding_table\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     24\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "df_trend = \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>REPORT_DATE</th>\n",
       "      <th>STORE_BKEY</th>\n",
       "      <th>BANNER_NAME</th>\n",
       "      <th>STORE_TYPE</th>\n",
       "      <th>PRODUCT_BKEY</th>\n",
       "      <th>BRAND_NAME</th>\n",
       "      <th>AMOUNT_PER_KG</th>\n",
       "      <th>PRICE_PER_KG</th>\n",
       "      <th>HAS_GROUND</th>\n",
       "      <th>WEEK_OF_YEAR</th>\n",
       "      <th>...</th>\n",
       "      <th>IS_NEWYEAR</th>\n",
       "      <th>IS_CHRISTMAS</th>\n",
       "      <th>IS_12</th>\n",
       "      <th>IS_11</th>\n",
       "      <th>IS_618</th>\n",
       "      <th>IS_SUMMER</th>\n",
       "      <th>IS_WINTER</th>\n",
       "      <th>STORE_COUNT</th>\n",
       "      <th>CITY_COUNT</th>\n",
       "      <th>RN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN0401200</td>\n",
       "      <td>ROCHER</td>\n",
       "      <td>20.295983</td>\n",
       "      <td>162.367865</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN04O2904</td>\n",
       "      <td>ROCHER</td>\n",
       "      <td>4.761905</td>\n",
       "      <td>178.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN1107500</td>\n",
       "      <td>KINDER CHOCOLATE</td>\n",
       "      <td>8.510638</td>\n",
       "      <td>100.765957</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN1501100</td>\n",
       "      <td>RAFFAELLO</td>\n",
       "      <td>20.382166</td>\n",
       "      <td>138.598726</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN8701862</td>\n",
       "      <td>KINDER JOY</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 26 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "  REPORT_DATE  STORE_BKEY BANNER_NAME STORE_TYPE PRODUCT_BKEY  \\\n",
       "0  2018-02-24  BJ07110011    7-Eleven        CVS   XCN0401200   \n",
       "1  2018-02-24  BJ07110011    7-Eleven        CVS   XCN04O2904   \n",
       "2  2018-02-24  BJ07110011    7-Eleven        CVS   XCN1107500   \n",
       "3  2018-02-24  BJ07110011    7-Eleven        CVS   XCN1501100   \n",
       "4  2018-02-24  BJ07110011    7-Eleven        CVS   XCN8701862   \n",
       "\n",
       "         BRAND_NAME  AMOUNT_PER_KG  PRICE_PER_KG  HAS_GROUND  WEEK_OF_YEAR  \\\n",
       "0            ROCHER      20.295983    162.367865           0             8   \n",
       "1            ROCHER       4.761905    178.666667           0             8   \n",
       "2  KINDER CHOCOLATE       8.510638    100.765957           0             8   \n",
       "3         RAFFAELLO      20.382166    138.598726           0             8   \n",
       "4        KINDER JOY       0.000000      0.000000           0             8   \n",
       "\n",
       "   ...  IS_NEWYEAR  IS_CHRISTMAS  IS_12  IS_11  IS_618  IS_SUMMER  IS_WINTER  \\\n",
       "0  ...           0             0      0      0       0          0          1   \n",
       "1  ...           0             0      0      0       0          0          1   \n",
       "2  ...           0             0      0      0       0          0          1   \n",
       "3  ...           0             0      0      0       0          0          1   \n",
       "4  ...           0             0      0      0       0          0          1   \n",
       "\n",
       "   STORE_COUNT  CITY_COUNT  RN  \n",
       "0         1497          12   1  \n",
       "1         1497          12   1  \n",
       "2         1497          12   1  \n",
       "3         1497          12   1  \n",
       "4         1497          12   1  \n",
       "\n",
       "[5 rows x 26 columns]"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "filePaht = os.path.join(base_path, \"BANNER.csv\")\n",
    "reader = pd.read_csv(filePaht, iterator=True, chunksize=5)\n",
    "reader.get_chunk()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>REPORT_DATE</th>\n",
       "      <th>STORE_BKEY</th>\n",
       "      <th>BANNER_NAME</th>\n",
       "      <th>STORE_TYPE</th>\n",
       "      <th>PRODUCT_BKEY</th>\n",
       "      <th>BRAND_NAME</th>\n",
       "      <th>AMOUNT_PER_KG</th>\n",
       "      <th>PRICE_PER_KG</th>\n",
       "      <th>HAS_GROUND</th>\n",
       "      <th>WEEK_OF_YEAR</th>\n",
       "      <th>...</th>\n",
       "      <th>IS_NEWYEAR</th>\n",
       "      <th>IS_CHRISTMAS</th>\n",
       "      <th>IS_12</th>\n",
       "      <th>IS_11</th>\n",
       "      <th>IS_618</th>\n",
       "      <th>IS_SUMMER</th>\n",
       "      <th>IS_WINTER</th>\n",
       "      <th>STORE_COUNT</th>\n",
       "      <th>CITY_COUNT</th>\n",
       "      <th>RN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN8701863</td>\n",
       "      <td>KINDER JOY</td>\n",
       "      <td>7.111111</td>\n",
       "      <td>144.497778</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN87O8063</td>\n",
       "      <td>KINDER JOY</td>\n",
       "      <td>20.869565</td>\n",
       "      <td>151.930435</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110011</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCNC911600</td>\n",
       "      <td>COLLECTION</td>\n",
       "      <td>2.702703</td>\n",
       "      <td>172.756757</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110012</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN0401200</td>\n",
       "      <td>ROCHER</td>\n",
       "      <td>20.295983</td>\n",
       "      <td>162.367865</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110012</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN04O2904</td>\n",
       "      <td>ROCHER</td>\n",
       "      <td>4.761905</td>\n",
       "      <td>178.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 26 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "  REPORT_DATE  STORE_BKEY BANNER_NAME STORE_TYPE PRODUCT_BKEY  BRAND_NAME  \\\n",
       "5  2018-02-24  BJ07110011    7-Eleven        CVS   XCN8701863  KINDER JOY   \n",
       "6  2018-02-24  BJ07110011    7-Eleven        CVS   XCN87O8063  KINDER JOY   \n",
       "7  2018-02-24  BJ07110011    7-Eleven        CVS   XCNC911600  COLLECTION   \n",
       "8  2018-02-24  BJ07110012    7-Eleven        CVS   XCN0401200      ROCHER   \n",
       "9  2018-02-24  BJ07110012    7-Eleven        CVS   XCN04O2904      ROCHER   \n",
       "\n",
       "   AMOUNT_PER_KG  PRICE_PER_KG  HAS_GROUND  WEEK_OF_YEAR  ...  IS_NEWYEAR  \\\n",
       "5       7.111111    144.497778           0             8  ...           0   \n",
       "6      20.869565    151.930435           0             8  ...           0   \n",
       "7       2.702703    172.756757           0             8  ...           0   \n",
       "8      20.295983    162.367865           0             8  ...           0   \n",
       "9       4.761905    178.666667           0             8  ...           0   \n",
       "\n",
       "   IS_CHRISTMAS  IS_12  IS_11  IS_618  IS_SUMMER  IS_WINTER  STORE_COUNT  \\\n",
       "5             0      0      0       0          0          1         1497   \n",
       "6             0      0      0       0          0          1         1497   \n",
       "7             0      0      0       0          0          1         1497   \n",
       "8             0      0      0       0          0          1         1497   \n",
       "9             0      0      0       0          0          1         1497   \n",
       "\n",
       "   CITY_COUNT  RN  \n",
       "5          12   1  \n",
       "6          12   1  \n",
       "7          12   1  \n",
       "8          12   1  \n",
       "9          12   1  \n",
       "\n",
       "[5 rows x 26 columns]"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reader.get_chunk()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>REPORT_DATE</th>\n",
       "      <th>STORE_BKEY</th>\n",
       "      <th>BANNER_NAME</th>\n",
       "      <th>STORE_TYPE</th>\n",
       "      <th>PRODUCT_BKEY</th>\n",
       "      <th>BRAND_NAME</th>\n",
       "      <th>AMOUNT_PER_KG</th>\n",
       "      <th>PRICE_PER_KG</th>\n",
       "      <th>HAS_GROUND</th>\n",
       "      <th>WEEK_OF_YEAR</th>\n",
       "      <th>...</th>\n",
       "      <th>IS_NEWYEAR</th>\n",
       "      <th>IS_CHRISTMAS</th>\n",
       "      <th>IS_12</th>\n",
       "      <th>IS_11</th>\n",
       "      <th>IS_618</th>\n",
       "      <th>IS_SUMMER</th>\n",
       "      <th>IS_WINTER</th>\n",
       "      <th>STORE_COUNT</th>\n",
       "      <th>CITY_COUNT</th>\n",
       "      <th>RN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110012</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN1107500</td>\n",
       "      <td>KINDER CHOCOLATE</td>\n",
       "      <td>8.510638</td>\n",
       "      <td>100.765957</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110012</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN1501100</td>\n",
       "      <td>RAFFAELLO</td>\n",
       "      <td>20.382166</td>\n",
       "      <td>138.598726</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110012</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN8701862</td>\n",
       "      <td>KINDER JOY</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110012</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN8701863</td>\n",
       "      <td>KINDER JOY</td>\n",
       "      <td>7.111111</td>\n",
       "      <td>144.497778</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110012</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN87O8063</td>\n",
       "      <td>KINDER JOY</td>\n",
       "      <td>20.869565</td>\n",
       "      <td>151.930435</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 26 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   REPORT_DATE  STORE_BKEY BANNER_NAME STORE_TYPE PRODUCT_BKEY  \\\n",
       "10  2018-02-24  BJ07110012    7-Eleven        CVS   XCN1107500   \n",
       "11  2018-02-24  BJ07110012    7-Eleven        CVS   XCN1501100   \n",
       "12  2018-02-24  BJ07110012    7-Eleven        CVS   XCN8701862   \n",
       "13  2018-02-24  BJ07110012    7-Eleven        CVS   XCN8701863   \n",
       "14  2018-02-24  BJ07110012    7-Eleven        CVS   XCN87O8063   \n",
       "\n",
       "          BRAND_NAME  AMOUNT_PER_KG  PRICE_PER_KG  HAS_GROUND  WEEK_OF_YEAR  \\\n",
       "10  KINDER CHOCOLATE       8.510638    100.765957           0             8   \n",
       "11         RAFFAELLO      20.382166    138.598726           0             8   \n",
       "12        KINDER JOY       0.000000      0.000000           0             8   \n",
       "13        KINDER JOY       7.111111    144.497778           0             8   \n",
       "14        KINDER JOY      20.869565    151.930435           0             8   \n",
       "\n",
       "    ...  IS_NEWYEAR  IS_CHRISTMAS  IS_12  IS_11  IS_618  IS_SUMMER  IS_WINTER  \\\n",
       "10  ...           0             0      0      0       0          0          1   \n",
       "11  ...           0             0      0      0       0          0          1   \n",
       "12  ...           0             0      0      0       0          0          1   \n",
       "13  ...           0             0      0      0       0          0          1   \n",
       "14  ...           0             0      0      0       0          0          1   \n",
       "\n",
       "    STORE_COUNT  CITY_COUNT  RN  \n",
       "10         1497          12   1  \n",
       "11         1497          12   1  \n",
       "12         1497          12   1  \n",
       "13         1497          12   1  \n",
       "14         1497          12   1  \n",
       "\n",
       "[5 rows x 26 columns]"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reader.get_chunk()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>REPORT_DATE</th>\n",
       "      <th>STORE_BKEY</th>\n",
       "      <th>BANNER_NAME</th>\n",
       "      <th>STORE_TYPE</th>\n",
       "      <th>PRODUCT_BKEY</th>\n",
       "      <th>BRAND_NAME</th>\n",
       "      <th>AMOUNT_PER_KG</th>\n",
       "      <th>PRICE_PER_KG</th>\n",
       "      <th>HAS_GROUND</th>\n",
       "      <th>WEEK_OF_YEAR</th>\n",
       "      <th>...</th>\n",
       "      <th>IS_NEWYEAR</th>\n",
       "      <th>IS_CHRISTMAS</th>\n",
       "      <th>IS_12</th>\n",
       "      <th>IS_11</th>\n",
       "      <th>IS_618</th>\n",
       "      <th>IS_SUMMER</th>\n",
       "      <th>IS_WINTER</th>\n",
       "      <th>STORE_COUNT</th>\n",
       "      <th>CITY_COUNT</th>\n",
       "      <th>RN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>55</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110019</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCNC911600</td>\n",
       "      <td>COLLECTION</td>\n",
       "      <td>2.702703</td>\n",
       "      <td>172.756757</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110020</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN0401200</td>\n",
       "      <td>ROCHER</td>\n",
       "      <td>20.295983</td>\n",
       "      <td>162.367865</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110020</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN04O2904</td>\n",
       "      <td>ROCHER</td>\n",
       "      <td>4.761905</td>\n",
       "      <td>178.666667</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110020</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN1107500</td>\n",
       "      <td>KINDER CHOCOLATE</td>\n",
       "      <td>8.510638</td>\n",
       "      <td>100.765957</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>2018-02-24</td>\n",
       "      <td>BJ07110020</td>\n",
       "      <td>7-Eleven</td>\n",
       "      <td>CVS</td>\n",
       "      <td>XCN1501100</td>\n",
       "      <td>RAFFAELLO</td>\n",
       "      <td>20.382166</td>\n",
       "      <td>138.598726</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1497</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 26 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   REPORT_DATE  STORE_BKEY BANNER_NAME STORE_TYPE PRODUCT_BKEY  \\\n",
       "55  2018-02-24  BJ07110019    7-Eleven        CVS   XCNC911600   \n",
       "56  2018-02-24  BJ07110020    7-Eleven        CVS   XCN0401200   \n",
       "57  2018-02-24  BJ07110020    7-Eleven        CVS   XCN04O2904   \n",
       "58  2018-02-24  BJ07110020    7-Eleven        CVS   XCN1107500   \n",
       "59  2018-02-24  BJ07110020    7-Eleven        CVS   XCN1501100   \n",
       "\n",
       "          BRAND_NAME  AMOUNT_PER_KG  PRICE_PER_KG  HAS_GROUND  WEEK_OF_YEAR  \\\n",
       "55        COLLECTION       2.702703    172.756757           0             8   \n",
       "56            ROCHER      20.295983    162.367865           0             8   \n",
       "57            ROCHER       4.761905    178.666667           0             8   \n",
       "58  KINDER CHOCOLATE       8.510638    100.765957           0             8   \n",
       "59         RAFFAELLO      20.382166    138.598726           0             8   \n",
       "\n",
       "    ...  IS_NEWYEAR  IS_CHRISTMAS  IS_12  IS_11  IS_618  IS_SUMMER  IS_WINTER  \\\n",
       "55  ...           0             0      0      0       0          0          1   \n",
       "56  ...           0             0      0      0       0          0          1   \n",
       "57  ...           0             0      0      0       0          0          1   \n",
       "58  ...           0             0      0      0       0          0          1   \n",
       "59  ...           0             0      0      0       0          0          1   \n",
       "\n",
       "    STORE_COUNT  CITY_COUNT  RN  \n",
       "55         1497          12   1  \n",
       "56         1497          12   1  \n",
       "57         1497          12   1  \n",
       "58         1497          12   1  \n",
       "59         1497          12   1  \n",
       "\n",
       "[5 rows x 26 columns]"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reader.get_chunk()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "'TextFileReader' object has no attribute 'empty'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-18-d2cf9abb066c>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      2\u001b[0m \u001b[0mreader\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread_csv\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilePaht\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0miterator\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mchunksize\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m10\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      3\u001b[0m \u001b[0mreader\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_chunk\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 4\u001b[1;33m \u001b[0mreader\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mempty\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m: 'TextFileReader' object has no attribute 'empty'"
     ]
    }
   ],
   "source": [
    "filePaht = os.path.join(base_path, \"BANNER_00.csv\")\n",
    "reader = pd.read_csv(filePaht, iterator=True, chunksize=10)\n",
    "reader.get_chunk()\n",
    "reader.empty"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>REPORT_DATE\tSTORE_BKEY\tBANNER_NAME\tSTORE_TYPE\tPRODUCT_BKEY\tBRAND_NAME\tAMOUNT_PER_KG\tPRICE_PER_KG\tHAS_GROUND\tWEEK_OF_YEAR\tMONTH_OF_YEAR\tYEAR_OF_WEEK\tIS_VALENTINE\tIS_TEACHER\tIS_C_VALENTINE\tIS_CHILDREN\tIS_NEWYEAR\tIS_CHRISTMAS\tIS_12\tIS_11\tIS_618\tIS_SUMMER\tIS_WINTER\tSTORE_COUNT\tCITY_COUNT\tRN</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2018/2/24\\tBJ07110012\\t7-Eleven\\tCVS\\tXCN11075...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2018/2/24\\tBJ07110012\\t7-Eleven\\tCVS\\tXCN15011...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   REPORT_DATE\\tSTORE_BKEY\\tBANNER_NAME\\tSTORE_TYPE\\tPRODUCT_BKEY\\tBRAND_NAME\\tAMOUNT_PER_KG\\tPRICE_PER_KG\\tHAS_GROUND\\tWEEK_OF_YEAR\\tMONTH_OF_YEAR\\tYEAR_OF_WEEK\\tIS_VALENTINE\\tIS_TEACHER\\tIS_C_VALENTINE\\tIS_CHILDREN\\tIS_NEWYEAR\\tIS_CHRISTMAS\\tIS_12\\tIS_11\\tIS_618\\tIS_SUMMER\\tIS_WINTER\\tSTORE_COUNT\\tCITY_COUNT\\tRN\n",
       "10  2018/2/24\\tBJ07110012\\t7-Eleven\\tCVS\\tXCN11075...                                                                                                                                                                                                                                                                      \n",
       "11  2018/2/24\\tBJ07110012\\t7-Eleven\\tCVS\\tXCN15011...                                                                                                                                                                                                                                                                      "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reader.get_chunk()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "ename": "StopIteration",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mStopIteration\u001b[0m                             Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-17-7d32cf459984>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mreader\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_chunk\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32mc:\\users\\wenyang.zhang\\documents\\myspace\\python37\\lib\\site-packages\\pandas\\io\\parsers.py\u001b[0m in \u001b[0;36mget_chunk\u001b[1;34m(self, size)\u001b[0m\n\u001b[0;32m   1171\u001b[0m                 \u001b[1;32mraise\u001b[0m \u001b[0mStopIteration\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1172\u001b[0m             \u001b[0msize\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmin\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msize\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnrows\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_currow\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1173\u001b[1;33m         \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnrows\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0msize\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1174\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1175\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\wenyang.zhang\\documents\\myspace\\python37\\lib\\site-packages\\pandas\\io\\parsers.py\u001b[0m in \u001b[0;36mread\u001b[1;34m(self, nrows)\u001b[0m\n\u001b[0;32m   1137\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnrows\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1138\u001b[0m         \u001b[0mnrows\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_validate_integer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'nrows'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnrows\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1139\u001b[1;33m         \u001b[0mret\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnrows\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1140\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1141\u001b[0m         \u001b[1;31m# May alter columns / col_dict\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\wenyang.zhang\\documents\\myspace\\python37\\lib\\site-packages\\pandas\\io\\parsers.py\u001b[0m in \u001b[0;36mread\u001b[1;34m(self, nrows)\u001b[0m\n\u001b[0;32m   1993\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnrows\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1994\u001b[0m         \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1995\u001b[1;33m             \u001b[0mdata\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_reader\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnrows\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1996\u001b[0m         \u001b[1;32mexcept\u001b[0m \u001b[0mStopIteration\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1997\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_first_chunk\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\parsers.pyx\u001b[0m in \u001b[0;36mpandas._libs.parsers.TextReader.read\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\parsers.pyx\u001b[0m in \u001b[0;36mpandas._libs.parsers.TextReader._read_low_memory\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;31mStopIteration\u001b[0m: "
     ]
    }
   ],
   "source": [
    "reader.get_chunk()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>REPORT_DATE</th>\n",
       "      <th>AMOUNT_PER_KG</th>\n",
       "      <th>PRICE_PER_KG</th>\n",
       "      <th>HAS_GROUND</th>\n",
       "      <th>WEEK_OF_YEAR</th>\n",
       "      <th>MONTH_OF_YEAR</th>\n",
       "      <th>YEAR_OF_WEEK</th>\n",
       "      <th>IS_VALENTINE</th>\n",
       "      <th>IS_TEACHER</th>\n",
       "      <th>IS_C_VALENTINE</th>\n",
       "      <th>...</th>\n",
       "      <th>LAST_6_MONTH_MID</th>\n",
       "      <th>LAST_6_MONTH_MID25</th>\n",
       "      <th>LAST_6_MONTH_MID75</th>\n",
       "      <th>LAST_12_MONTH_AVG</th>\n",
       "      <th>LAST_12_MONTH_MIN</th>\n",
       "      <th>LAST_12_MONTH_MAX</th>\n",
       "      <th>LAST_12_MONTH_SUM</th>\n",
       "      <th>LAST_12_MONTH_MID</th>\n",
       "      <th>LAST_12_MONTH_MID25</th>\n",
       "      <th>LAST_12_MONTH_MID75</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2016-09-01</td>\n",
       "      <td>7.39046</td>\n",
       "      <td>86.39633</td>\n",
       "      <td>0.070796</td>\n",
       "      <td>35.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>2016.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.632679</td>\n",
       "      <td>0.632679</td>\n",
       "      <td>0.632679</td>\n",
       "      <td>0.632679</td>\n",
       "      <td>0.632679</td>\n",
       "      <td>0.632679</td>\n",
       "      <td>0.632679</td>\n",
       "      <td>0.632679</td>\n",
       "      <td>0.632679</td>\n",
       "      <td>0.632679</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1 rows × 71 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "  REPORT_DATE  AMOUNT_PER_KG  PRICE_PER_KG  HAS_GROUND  WEEK_OF_YEAR  \\\n",
       "0  2016-09-01        7.39046      86.39633    0.070796          35.0   \n",
       "\n",
       "   MONTH_OF_YEAR  YEAR_OF_WEEK  IS_VALENTINE  IS_TEACHER  IS_C_VALENTINE  \\\n",
       "0            9.0        2016.0           0.0         0.0             0.0   \n",
       "\n",
       "          ...           LAST_6_MONTH_MID  LAST_6_MONTH_MID25  \\\n",
       "0         ...                   0.632679            0.632679   \n",
       "\n",
       "   LAST_6_MONTH_MID75  LAST_12_MONTH_AVG  LAST_12_MONTH_MIN  \\\n",
       "0            0.632679           0.632679           0.632679   \n",
       "\n",
       "   LAST_12_MONTH_MAX  LAST_12_MONTH_SUM  LAST_12_MONTH_MID  \\\n",
       "0           0.632679           0.632679           0.632679   \n",
       "\n",
       "   LAST_12_MONTH_MID25  LAST_12_MONTH_MID75  \n",
       "0             0.632679             0.632679  \n",
       "\n",
       "[1 rows x 71 columns]"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import pymysql\n",
    "import os, sys\n",
    "from sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor, AdaBoostRegressor\n",
    "from sklearn.model_selection import train_test_split\n",
    "from matplotlib import pyplot as plt\n",
    "import time\n",
    "\n",
    "basePath = \"..\\\\dataset\"\n",
    "filePath = os.path.join(basePath, \"banner_carr.csv\")\n",
    "df_banner=pd.read_csv(filePath)\n",
    "#df_banner2.head()\n",
    "df_banner_agg = df_banner.drop(\"id\", axis=1).groupby(\"REPORT_DATE\").mean().reset_index()\n",
    "\n",
    "filePath = os.path.join(basePath, \"SalesTrend.csv\")\n",
    "df_trend = pd.read_csv(filePath)\n",
    "df_trend_carre = df_trend[df_trend.BANNER_NAME == 'Carrefour']\n",
    "df_trend_carre_agg = df_trend_carre.groupby('REPORT_DATE').mean().reset_index()\n",
    "\n",
    "df_merge = df_banner_agg.merge(df_trend_carre_agg, on=[\"REPORT_DATE\"], how=\"inner\")\n",
    "\n",
    "#df_banner_agg[\"REPORT_DATE\"] = df_banner_agg[\"REPORT_DATE\"].apply(lambda x: x.replace(\"/\", \"-\"))\n",
    "df_merge.head(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>YEAR_OF_WEEK</th>\n",
       "      <th>MONTH_OF_YEAR</th>\n",
       "      <th>QLI</th>\n",
       "      <th>A</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2016.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>-0.004332</td>\n",
       "      <td>201601</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2016.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>18.156385</td>\n",
       "      <td>201609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2016.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>6.517972</td>\n",
       "      <td>201610</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2016.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>8.695139</td>\n",
       "      <td>201611</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2016.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>35.298475</td>\n",
       "      <td>201612</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   YEAR_OF_WEEK  MONTH_OF_YEAR        QLI       A\n",
       "0        2016.0            1.0  -0.004332  201601\n",
       "1        2016.0            9.0  18.156385  201609\n",
       "2        2016.0           10.0   6.517972  201610\n",
       "3        2016.0           11.0   8.695139  201611\n",
       "4        2016.0           12.0  35.298475  201612"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_banner_agg = df_merge[[\"YEAR_OF_WEEK\",\"MONTH_OF_YEAR\",\"QLI\"]]\n",
    "# df_banner_agg.head()\n",
    "df_banner_agg = df_banner_agg.groupby(['YEAR_OF_WEEK','MONTH_OF_YEAR']).sum().reset_index()\n",
    "df_banner_agg[\"A\"] = df_banner_agg[\"YEAR_OF_WEEK\"].astype(int).astype(str) + df_banner_agg[\"MONTH_OF_YEAR\"].astype(int).astype(str).apply(lambda x: x.rjust(2,'0'))\n",
    "df_banner_agg.groupby('A').sum().reset_index()\n",
    "df_banner_agg.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>YEAR_OF_WEEK</th>\n",
       "      <th>MONTH_OF_YEAR</th>\n",
       "      <th>QLI</th>\n",
       "      <th>A</th>\n",
       "      <th>DATE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2016</td>\n",
       "      <td>1</td>\n",
       "      <td>-0.004332</td>\n",
       "      <td>201601</td>\n",
       "      <td>201601</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2016</td>\n",
       "      <td>9</td>\n",
       "      <td>18.156385</td>\n",
       "      <td>201609</td>\n",
       "      <td>201609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2016</td>\n",
       "      <td>10</td>\n",
       "      <td>6.517972</td>\n",
       "      <td>201610</td>\n",
       "      <td>201610</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2016</td>\n",
       "      <td>11</td>\n",
       "      <td>8.695139</td>\n",
       "      <td>201611</td>\n",
       "      <td>201611</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2016</td>\n",
       "      <td>12</td>\n",
       "      <td>35.298475</td>\n",
       "      <td>201612</td>\n",
       "      <td>201612</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  YEAR_OF_WEEK MONTH_OF_YEAR        QLI       A    DATE\n",
       "0         2016             1  -0.004332  201601  201601\n",
       "1         2016             9  18.156385  201609  201609\n",
       "2         2016            10   6.517972  201610  201610\n",
       "3         2016            11   8.695139  201611  201611\n",
       "4         2016            12  35.298475  201612  201612"
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_banner_agg[\"MONTH_OF_YEAR\"] = df_banner_agg[\"MONTH_OF_YEAR\"].astype(int).astype(str)\n",
    "df_banner_agg[\"YEAR_OF_WEEK\"] = df_banner_agg[\"YEAR_OF_WEEK\"].astype(int).astype(str)\n",
    "\n",
    "df_banner_agg[\"DATE\"] = df_banner_agg[\"YEAR_OF_WEEK\"]+ df_banner_agg[\"MONTH_OF_YEAR\"].apply(lambda x: x.rjust(2,'0'))\n",
    "#df_banner_agg.groupby('A').sum().reset_index()\n",
    "df_banner_agg.groupby(\"A\").sum().reindex()\n",
    "df_banner_agg.head()\n",
    "# df_banner_agg_month.head(100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x196912e8>]"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABBEAAAD8CAYAAAAhbjwkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3XdclfX///HnxRRxIuDAlWbOFBW3hgqWaY4cOEA4WtnHb8OycuZO1LSdDUuFDjhLxZXjHAfujSPNTDK3Ig5UNuf1+yPwZ2WKcs55n3N43m83bgqcc67Hp08pvLiu16WJCIiIiIiIiIiIHsZJdQARERERERER2QcOEYiIiIiIiIgoXzhEICIiIiIiIqJ84RCBiIiIiIiIiPKFQwQiIiIiIiIiyhcOEYiIiIiIiIgoXzhEICIiIiIiIqJ84RCBiIiIiIiIiPKFQwQiIiIiIiIiyhcXax7M29tbqlatas1DEhEREREREdFD7N+//6qI+DzscVYdIlStWhX79u2z5iGJiIiIiIiI6CE0TfszP4/j5QxERERERERElC8cIhARERERERFRvnCIQERERERERET5wiECEREREREREeULhwhERERERERElC/5ujuDpmmnAdwCkAMgW0QCNE3zArAIQFUApwGEiMh1y2QSERERERERkWqPciZCOxHxF5GA3PdHAjCKSA0Axtz3iYiIiIiIiMhBFeRyhm4AonN/Hw2ge8FziIiIiKiwS0xMxLJly1RnEBHRfeR3iCAA1muatl/TtMG5HysrIhcBIPdXX0sEEhEREVHhMm7cOPTs2RNnz55VnUJERP+Q3yFCKxFpBOB5AK9pmvZMfg+gadpgTdP2aZq2Lykp6bEiiYiIiKhwEBEYjUaICPR6veocIiL6h3wNEUTkQu6vVwAsA9AUwGVN08oDQO6vV/7jubNFJEBEAnx8fMxTTUREREQO6dixY7h06RJcXV0RFRUFEVGdRERE93joEEHTNE9N04rn/R7AswCOAlgBICL3YREA4iwVSURERESFg8FgAACMHj0aJ0+exM6dOxUXERHRvfJzJkJZANs0TTsEYA+A1SKyFsA0AB00TTsJoEPu+0REREREj81oNKJ69ep45513ULRoUURFRalOIiKiezx0iCAiiSLSIPetrohMyf14sogEiUiN3F+vWT6X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zZo1+f3vf8/MmTPp1KkT77zzToUaLidS0aiIECX9+vVjwYIFbN68mTp16ngdR6TCmTdvHklJSYwYMYKnn366XNvev3//cQsDoZc///zzb+5btWpVEhISqFevHvXq1aNKlSocPXqUYDBIMBgsvO7VtILriYmJpKSk0LdvX31GlZG1luzs7CLFhdAiw44dOwgGg4Xzn3HGGTRs2LBIcSG0yHAyB3TMy8tjypQpjBgxgtzcXAYOHMjIkSOpVatWeTxUEZFys2bNGu68807WrVvHww8/zNixY1XoFPE5FRGiICMjgyuuuILhw4czatQor+OIVFh33nknM2fOJC0tjSuvvPKE8xcUB05UICipOFBQIDjWZUJCAuecc47GBQrgfLHPyso65h4MW7ZsYe/evUXmj4+PLywoFC8wXHjhhcc9T/eiRYt46KGH2LhxI127duWll17SMB8R8bUjR46wefNmmjVr5nUUESkFFRGi4MYbbyQ9PZ0tW7boFCciEbRv3z5atGhBfHw8s2fP5vvvvy+xQFB813MouTgQel3FASlvubm5x9yDYevWrWzdupUjR44UzhsTE0P9+vWLFBYaNGjAP//5TxYuXMjFF1/MCy+8wC233KLXqYiIiJQrFREibOnSpVx77bU899xzPProo17HEanwPvjgA2688cbfTA8tDpS094CKA+JHwWCQXbt2HXMPhi1btrB7924AqlWrxpNPPskDDzxA5cqVPU4tIiIiFZGKCBFkraVjx47s2LGDTZs2UbVqVa8jiZwWlixZwu7du4sUDFQckIrs0KFDbNu2jbp161K9enWv44iIiEgFVtoiQqVohKlo5s+fz4oVK3jttddUQBCJoi5dungdQSSqqlatqrHEIiIi4ivaEyFMR48epVWrVuTn57NhwwYqVVIdRkRERERERE5t2hMhQmbMmMFXX33F7NmzVUAQERERERGR04r2RAjD4cOHadKkCbVr12blypUahy0iIiIiIiIVgvZEiIApU6aQlZXFG2+8oQKCiIiIiIiInHZivA5wqti/fz+jRo2iS5cudO3a1es4IiIiIiIiIlGnIkIpvfjii+zZs4dnn33W6ygiIiIiIiIinlARoRSys7N5/vnn6d27N23btvU6joiIiIiIiIgnTqqIYIzpZoz52hjzrTHmifIK5Tdjxozh4MGDjBo1yusoIiIiIiIi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ba2Q/nEFznpb5WUud9n1Qu7fA7cP8joXzh6D17o5auEMbyjvz/syvR/dbe/qOGdWIGS6l7lC+8dmOEWE7BMsxxvWBwdmiMQfzhGDLb+ePm0Nzm4hNXFOYbPJvSw43VVdnGrZT0COe/0c97bLcU6/thbnzVBwhNGytOVlrg7utEycL1TVo7y+ktz5DgPfU/QgNcNxDmL1NXCjj3Jtwzly+M/uPM29zoWzS98Bip726rwI5IrD+YJ2brH3Vtht+SDb68C+kOWu8kmux3FO/bMGpxO72g+5is0zjaJnZ/ByfQ1x19d/cDbeOvohl3vbf+MUANfjnoLOJ7kGALMi3EeG+zwmAB/iHA9hPZDsk1zR6iOPl8vrPrIsubYR+T4yrFxEr48cifNaWQ8EcA/eiHOso3ScA4bODpne1r3/AffxbIjQ8xhuro/c9Vew3Pk+yfU3fu0fPwEu80OuYq/BpRQ9CKqX6+tZfu0fPwGa+iSXAV7E6R/X4Z6RwOtc7m1PA2Mj3D+Gu76aA5+7z+Ma4Pri+fzyV3BqMRERERERERGRElXY4QwiIiIiIiIiUr5URBARERERERGRUlERQURERERERERKRUUEERERERERESkVFRFEREREREREpFRURBARERERERGRUlERQURERERERERKRUUEERERERERESmV/w+yak90ZnlJ4wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1296x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(18,4))\n",
    "plt.plot(df_banner_agg[\"A\"].values, df_banner_agg[\"QLI\"].values,\"k-\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>DATE</th>\n",
       "      <th>MONTH_OF_YEAR</th>\n",
       "      <th>QLI</th>\n",
       "      <th>YEAR_OF_WEEK</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>201801</td>\n",
       "      <td>201801</td>\n",
       "      <td>1</td>\n",
       "      <td>24.340195</td>\n",
       "      <td>2018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>201802</td>\n",
       "      <td>201802</td>\n",
       "      <td>2</td>\n",
       "      <td>10.720719</td>\n",
       "      <td>2018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>201803</td>\n",
       "      <td>201803</td>\n",
       "      <td>3</td>\n",
       "      <td>4.156121</td>\n",
       "      <td>2018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>201804</td>\n",
       "      <td>201804</td>\n",
       "      <td>4</td>\n",
       "      <td>11.709448</td>\n",
       "      <td>2018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>201805</td>\n",
       "      <td>201805</td>\n",
       "      <td>5</td>\n",
       "      <td>7.241886</td>\n",
       "      <td>2018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>201806</td>\n",
       "      <td>201806</td>\n",
       "      <td>6</td>\n",
       "      <td>5.174239</td>\n",
       "      <td>2018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>201807</td>\n",
       "      <td>201807</td>\n",
       "      <td>7</td>\n",
       "      <td>10.931634</td>\n",
       "      <td>2018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>201808</td>\n",
       "      <td>201808</td>\n",
       "      <td>8</td>\n",
       "      <td>19.207673</td>\n",
       "      <td>2018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>NaN</td>\n",
       "      <td>201809</td>\n",
       "      <td>9</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>NaN</td>\n",
       "      <td>201810</td>\n",
       "      <td>10</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>NaN</td>\n",
       "      <td>201811</td>\n",
       "      <td>11</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>NaN</td>\n",
       "      <td>201812</td>\n",
       "      <td>12</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         A    DATE MONTH_OF_YEAR        QLI YEAR_OF_WEEK\n",
       "17  201801  201801             1  24.340195         2018\n",
       "18  201802  201802             2  10.720719         2018\n",
       "19  201803  201803             3   4.156121         2018\n",
       "20  201804  201804             4  11.709448         2018\n",
       "21  201805  201805             5   7.241886         2018\n",
       "22  201806  201806             6   5.174239         2018\n",
       "23  201807  201807             7  10.931634         2018\n",
       "24  201808  201808             8  19.207673         2018\n",
       "0      NaN  201809             9   0.000000          NaN\n",
       "1      NaN  201810            10   0.000000          NaN\n",
       "2      NaN  201811            11   0.000000          NaN\n",
       "3      NaN  201812            12   0.000000          NaN"
      ]
     },
     "execution_count": 159,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_banner_2016 = df_banner_agg[df_banner_agg[\"YEAR_OF_WEEK\"]==\"2016\"]\n",
    "#df_banner_2016 = df_banner_2016[[\"DATE\", \"QLI\"]]\n",
    "df_banner_2016=df_banner_2016.drop(0, 0)\n",
    "df_insert = pd.DataFrame({\"DATE\":[\"201601\",\"201602\",\"201603\",\"201604\",\"201605\",\"201606\",\"201607\",\"201608\"],\n",
    "                          \"QLI\":[0,0,0,0,0,0,0,0],\"MONTH_OF_YEAR\":[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\"]})\n",
    "df_banner_2016 = df_banner_2016.append(df_insert).sort_values(by=\"DATE\")\n",
    "df_banner_2017=df_banner_agg[df_banner_agg[\"YEAR_OF_WEEK\"]==\"2017\"]\n",
    "df_banner_2018=df_banner_agg[df_banner_agg[\"YEAR_OF_WEEK\"]==\"2018\"]\n",
    "df_insert = pd.DataFrame({\"DATE\":[\"201809\",\"201810\",\"201811\",\"201812\"],\"QLI\":[0,0,0,0],\"MONTH_OF_YEAR\":[\"9\",\"10\",\"11\",\"12\"]})\n",
    "df_banner_2018=df_banner_2018.append(df_insert).sort_values(by=\"DATE\")\n",
    "df_banner_2018.head(100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x20a33b70>]"
      ]
     },
     "execution_count": 161,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(15, 4))\n",
    "plt.plot(df_banner_2016[\"MONTH_OF_YEAR\"].values,df_banner_2016[\"QLI\"].values)\n",
    "# plt.figure(figsize=(15, 4))\n",
    "plt.plot(df_banner_2017[\"MONTH_OF_YEAR\"].values,df_banner_2017[\"QLI\"].values)\n",
    "# plt.figure(figsize=(15, 4))\n",
    "plt.plot(df_banner_2018[\"MONTH_OF_YEAR\"].values,df_banner_2018[\"QLI\"].values)\n",
    "#plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
